package com.dhcc;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 配置类，用于读取分布式 ID 生成器的相关配置。
 * <p>
 * 该类通过 {@link ConfigurationProperties} 注解与配置文件中的属性进行绑定，
 * 其中 `prefix` 表示前缀为 `distributed.id` 的配置项将会被映射到该类的属性上。
 * </p>
 * @ProjectName Dhcc-Cloud
 * @PackageName com.dhcc
 * @Title IdProperties
 * @Date 2024/10/15 上午9:53
 * @Author LiuGuoting
 */
@ConfigurationProperties(prefix = "distributed.id")
public class IdProperties {

    /**
     * 工作节点 ID，用于标识唯一的机器或服务实例。
     */
    private long workerId;

    /**
     * 数据中心 ID，用于标识不同的数据中心或机房。
     */
    private long datacenterId;

    /**
     * 获取工作节点 ID。
     *
     * @return 返回配置的 workerId
     */
    public long getWorkerId() {
        return workerId;
    }

    /**
     * 设置工作节点 ID。
     *
     * @param workerId 工作节点 ID
     */
    public void setWorkerId(long workerId) {
        this.workerId = workerId;
    }

    /**
     * 获取数据中心 ID。
     *
     * @return 返回配置的 datacenterId
     */
    public long getDatacenterId() {
        return datacenterId;
    }

    /**
     * 设置数据中心 ID。
     *
     * @param datacenterId 数据中心 ID
     */
    public void setDatacenterId(long datacenterId) {
        this.datacenterId = datacenterId;
    }
}
